package net.FamilyTree.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.util.Date;

/**
 * 人物视图对象（View Object）
 *
 * People实体类可能包含与前端显示无关的敏感信息或过多的字段，不适合直接暴露给前端。
 * 因此，可以使用PeopleVo作为视图对象（View Object）来展示给前端，
 * 只包含前端需要的字段，避免了不必要的数据传输和暴露。
 *
 * PeopleVo通常是通过拷贝People对象的属性创建的，以便在转发给前端时进行定制和控制。
 * 这种方式可以保持数据的封装性和安全性，同时也有助于前后端的解耦和灵活性。
 */
@Data
public class PeopleVo {
    private Integer id;            // 人物ID
    private Integer parentId;      // 父节点ID
    private String name;           // 人物姓名
    private String sex;            // 人物性别
    private String image;          // 人物头像
    private String brithday;       // 人物生日
    private String deadday;        // 人物去世日期
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date updatetime;       // 更新时间
    private Integer userid;        // 用户ID
    private Integer delflag;       // 删除标记
}
